
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __javax_imageio_IIOParam__
#define __javax_imageio_IIOParam__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace java
  {
    namespace awt
    {
        class Point;
        class Rectangle;
    }
  }
  namespace javax
  {
    namespace imageio
    {
        class IIOParam;
        class IIOParamController;
        class ImageTypeSpecifier;
    }
  }
}

class javax::imageio::IIOParam : public ::java::lang::Object
{

public: // actually protected
  IIOParam();
public:
  virtual jboolean activateController();
  virtual ::javax::imageio::IIOParamController * getController();
  virtual ::javax::imageio::IIOParamController * getDefaultController();
  virtual ::java::awt::Point * getDestinationOffset();
  virtual ::javax::imageio::ImageTypeSpecifier * getDestinationType();
  virtual JArray< jint > * getSourceBands();
  virtual ::java::awt::Rectangle * getSourceRegion();
  virtual jint getSourceXSubsampling();
  virtual jint getSourceYSubsampling();
  virtual jint getSubsamplingXOffset();
  virtual jint getSubsamplingYOffset();
  virtual jboolean hasController();
  virtual void setController(::javax::imageio::IIOParamController *);
  virtual void setDestinationType(::javax::imageio::ImageTypeSpecifier *);
  virtual void setDestinationOffset(::java::awt::Point *);
  virtual void setSourceBands(JArray< jint > *);
  virtual void setSourceRegion(::java::awt::Rectangle *);
  virtual void setSourceSubsampling(jint, jint, jint, jint);
public: // actually protected
  ::javax::imageio::IIOParamController * __attribute__((aligned(__alignof__( ::java::lang::Object)))) controller;
  ::javax::imageio::IIOParamController * defaultController;
  ::java::awt::Point * destinationOffset;
  ::javax::imageio::ImageTypeSpecifier * destinationType;
  JArray< jint > * sourceBands;
  ::java::awt::Rectangle * sourceRegion;
  jint sourceXSubsampling;
  jint sourceYSubsampling;
  jint subsamplingXOffset;
  jint subsamplingYOffset;
private:
  jboolean no_controller;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_imageio_IIOParam__
